#pragma once
namespace Exception
{	
	class EXCEPTION_API ExceptionBase
	{
	public:
		ExceptionBase();
		ExceptionBase(const wchar_t* msg);
		//virtual destructor from Object
		virtual ~ExceptionBase(void);
	protected:
		const wchar_t* m_msg;
	
	};

	//other exception kind:
	class EXCEPTION_API UnreacheableCodeException : public ExceptionBase
	{
	public:
		UnreacheableCodeException();
		UnreacheableCodeException(const wchar_t* msg)
		{
			m_msg = msg;
		}
		virtual ~UnreacheableCodeException(void);
	};
}
